package com.ansion.basedb.dao;

import androidx.annotation.NonNull;

import com.ansion.basedb.dao.model.UserModel;

import java.util.List;


public interface UserLogicDao extends CocoBaseDao {
	interface DBOperationCallback {
        void onFinished();
    }
    UserModel getUser(long uid);

    UserModel getUserOnly(long uid);

    UserModel getUser(@NonNull String uid);

    UserModel getUserByUcid(String ucid);

    List<UserModel> loadAll();

    void saveUser(UserModel user);

    void saveFromMessage(UserModel user,boolean isVoip);

    void saveUsers(List<UserModel> userList);

//    void saveGroupUser(List<GroupUserPB> groupUserPB);
    /**
     * 对于客户端维护的ADDFRIEND等字段的保存调用此方法
     */
    void saveUserLocal(UserModel user);

//    List<UserModel> saveUserFromSimpleCocoAccountPBs(List<BabaAccountPB> simpleCocoAccountPBList,DBOperationCallback callBack);

    boolean isLoaded();

    boolean isAppUser(long uid);

    void deleteAppUser(List<Long> uids);

    void deleteAppUser(long uid);

    boolean isMatchEnd();

	void setIsMatchEnd();

}
